package com.boarsoft.boar.code.mac.flow.biz;

import com.boarsoft.bean.ReplyInfo;
import com.boarsoft.boar.code.entity.ProHandlerInfo;
import com.boarsoft.common.dao.PagedResult;

public interface ProcessHandlerInfoBiz {
	/**
	 * 删除某个服务，同时删除对应的目录和组件<br/>
	 * 如果服务被其它服务依赖，则返回INFO_INUSE
	 *
	 * @param id
	 * @return
	 */
	ReplyInfo<String> delete(String id);

	ReplyInfo<Object> update(ProHandlerInfo p);

	/**
	 * 保存SVC时同步保存DIR和COM（方便处理关系）<br/>
	 * 同时还会保存SVC与APP的关系
	 *
	 * @param p
	 * @return
	 */
	String add(ProHandlerInfo p);

	/**
	 * 查询某系统中的所有服务
	 * @param appId
	 * @param faceId
	 * @param key
	 * @param orderBy
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */

	PagedResult<ProHandlerInfo> list(String appId, String faceId, String key, String orderBy, int pageNo, int pageSize);

	ProHandlerInfo get(String code, String appId);

	/**
	 * 仅保存服务信息
	 * 
	 * @param p
	 */
	void save(ProHandlerInfo p);
}